package com.yubest.designpattern.create.factory;

import com.yubest.designpattern.create.factory.bean.Clothes;
import com.yubest.designpattern.create.factory.bean.Food;
import com.yubest.designpattern.create.factory.bean.Phone;
import com.yubest.designpattern.create.factory.bean.Product;

/**
 * 简单工厂
 *
 * 它其实不是设计模式
 * 它把实例化的操作单独放到一个类中，这个类就成为简单工厂类，让简单工厂类来决定应该用哪个具体子类来实例化，这样做能把客户类和具体子类的实现解耦，客户类不再需要知道有哪些子类以及应当实例化哪个子类。
 *
 * @Author: hweiyu
 * @Date: 2022/10/26 11:05
 */
public class SimpleFactory {

    /**
     * 1:衣服; 2:食物; 3:手机
     * @param type
     * @return
     */
    public Product create(int type) {
        if (type == 1) {
            return new Clothes();
        } else if (type == 2) {
            return new Food();
        } else if (type == 3) {
            return new Phone();
        }
        return null;
    }
}
